home *** CD-ROM | disk | FTP | other *** search
/ ftp.cs.arizona.edu / ftp.cs.arizona.edu.tar / ftp.cs.arizona.edu / tsql / doc / tsql.mail / 000113_csj@iesd.auc.dk _Tue May 11 01:00:01 1993.msg < prev    next >
Internet Message Format  |  1996-01-31  |  7KB

  1. Received: from iesd.auc.dk by optima.CS.Arizona.EDU (5.65c/15) via SMTP
  2.     id AA00804; Mon, 10 May 1993 16:02:29 MST
  3. Received: from yellow.iesd.auc.dk by iesd.auc.dk with SMTP id AA02319
  4.   (5.65c8/IDA-1.5/MD for <tsql@cs.arizona.edu>); Tue, 11 May 1993 01:00:01 +0200
  5. Date: Tue, 11 May 1993 01:00:01 +0200
  6. From: "Christian S. Jensen" <csj@iesd.auc.dk>
  7. Message-Id: <199305102300.AA02319@iesd.auc.dk>
  8. To: tsql@cs.arizona.edu
  9. Subject: TSQL Benchmark: Task 4
  10.  
  11. **********************************************************************
  12. **                      The TSQL Benchmark                          **
  13. **                   Task 4--Benchmark Queries                      **
  14. **********************************************************************
  15.  
  16. Dear colleague,
  17.  
  18. In a recent message to this list, Rick Snodgrass proposed that we move
  19. on to Task 4 of the benchmark initiative, that of finding the actual
  20. benchmark queries. Rick argued convincingly, and there have been no
  21. objections. Consequently, I now propose a strategy for populating the
  22. current taxonomy with benchmark queries.
  23.  
  24. Classification of queries
  25. *************************
  26.  
  27. In a separate message, you will find the current version of the
  28. benchmark document. (The document describing the first three tasks may
  29. also be obtained by anonymous ftp from cs.arizona.edu, where it may be
  30. found in the tsql directory as "bmT123".) When reading the following,
  31. please refer to the taxonomy section of that document.
  32.  
  33. The classification in Figure 7 gives rise to thirty classes of
  34. queries. Following that figure, we first classify queries according to
  35. the output. The output from a query may have either only an
  36. explicit-attribute value component (O1), only a valid-time component
  37. (O2), or it may have both (O3)
  38.  
  39. Each of these classes has ten constituent classes. To derive these
  40. classes, we divide queries based on a single, distinguished valid-time
  41. selection predicate (chosen from possibly several predicates by the
  42. individual contributor). The predicate is of the format arg_1 op arg_2
  43. where op is a comparison operator which may (or may not) be
  44. duration-based. One argument is the valid time of tuples in the
  45. argument relation. The other argument may be of event, interval, or
  46. element type; orthogonally, it may (or may not) be computed from
  47. existing valid times in the argument relation. This results in a total
  48. of ten classes.
  49.  
  50.                 (S1) (Duration, Interval, Computed)
  51.                 (S2) (Duration, Interval, Other)
  52.                 (S3) (Duration, Element, Computed)
  53.                 (S4) (Duration, Element, Other)
  54.                 (S5) (Other, Event, Computed)
  55.                 (S6) (Other, Event, Other)
  56.                 (S7) (Other, Interval, Computed)
  57.                 (S8) (Other, Interval, Other)
  58.                 (S9) (Other, Element, Computed)
  59.                (S10) (Other, Element, Other)
  60.  
  61. The thirty classes are now numbered O1.S1, ..., O1.S10, O2.S1, ...,
  62. O2.S10, O3.S1, ..., O3.S10.
  63.  
  64. Strategy for populating the benchmark with queries
  65. **************************************************
  66.  
  67. I request that each author
  68.                    (1) chooses two of these classes (classes are
  69.                allocated on a first-come-first-serve basis)
  70.                    (2) prepare 5 queries for each class, and
  71.                    (3) send the queries to this mailing list by end of
  72.                    Sunday, May 30.
  73.  
  74. If you are not already an author, you may become an author by
  75. proposing queries for one or more classes.
  76.  
  77. Next, I request that use the template for queries that I have
  78. prepared.
  79.  
  80. \query{The query goes here.}
  81.       {The answer goes here.}
  82.       {The category according to Figure 6 goes here.}
  83.  
  84. Immediately following is a Latex document that may be used when
  85. viewing queries. The document also provides additional explanation.
  86. Note that this additional explanation is added here to explain the
  87. categories and classes. Such explanation is not required in the
  88. submitted queries.
  89.  
  90.  
  91. Best regards,
  92. Christian S. Jensen, editor
  93. Aalborg University
  94. csj@iesd.auc.dk
  95.  
  96.  
  97. \documentstyle[11pt]{article}
  98. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  99. % Latex template for queries
  100. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  101. \addtolength{\textwidth}{1.485in} \setlength{\oddsidemargin}{.1in}
  102. \setlength{\evensidemargin}{.1in} \addtolength{\topmargin}{-.85in}
  103. \addtolength{\textheight}{1.8in}
  104.  
  105. \long\def\comment#1{}
  106.  
  107. \long\def\query#1#2#3{\begin{verse} {\bf Query \no} {#1} \end{verse}
  108. \begin{verse} {\bf Answer:} {#2} \end{verse} \begin{verse} {\bf
  109. Category:} {#3} \end{verse}}
  110.  
  111. \newcounter{qnumber}
  112. \newcounter{rnumber}[subsection]
  113. \newcounter{gnumber}[subsubsection]
  114. \newcommand{\no}{\setcounter{qnumber}{\value{subsection}}
  115. \setcounter{rnumber}{\value{subsubsection}}\protect\refstepcounter{gnumber}
  116. Q \protect\theqnumber.\protect\thernumber.\protect\thegnumber:}
  117.  
  118. \begin{document}
  119.  
  120. \subsection{Example With Explanations}
  121.  
  122. \subsubsection{Class O1.S3 (Duration, Element, Computed)}
  123.  
  124. \query{Find the names of employees that have been in a department
  125.   named Toy for a shorter period than has DI.} 
  126.   {``Ed'' and ``Edward.''}
  127.   {(Projected, None) / (Duration, Element, Computed) / (=, Constant)
  128.     (=, Constant)}
  129.  
  130.   \noindent {\it The employee ED has been in a department named Toy
  131.     for a period which is shorter than that of DI. The categorization
  132.     is with respect to Figure 6. ``(Projected, None)'' indicates that
  133.     only part of the attributes of the argument relation are present
  134.     in the result and that there is no valid-time component. Next,
  135.     ``(Duration, Element, Computed)'' indicates that a duration based
  136.     predicates is used on element-valued arguments which are both
  137.     derived from the valid-times of stored facts.  Finally, ``(=,
  138.     Constant) (=, Constant)'' indicates that there are two
  139.     non-temporal selection predicates that test for equality of an
  140.     attribute value with a constant (i.e., the person must be DI and
  141.     the department must have name Toy).}
  142.  
  143. \query{Find the current name and department name for the persons which
  144.   made \$40K for a longer period than DI did.}
  145.   {``(Edward, Book).''}
  146.   {(Projected, None) / (Duration, Element, Computed) (Containment,
  147.     Event, Explicit) / (=, Constant)}
  148.  
  149.   \noindent {\it In this query, there are two valid-time selection
  150.     based predicates.  The one used for categorization compares the
  151.     duration of time when a person makes \$40K with the period of time
  152.     that DI makes \$40K. The other selects the name and department
  153.     that overlap with the current time of qualifying persons.}
  154.  
  155. \end{document}